<?php
session_start();
//echo "Carga archivo: ".date("H:i:s")."<br>";
include('../Lib/php/conex.php');
$link= conectaSQL("influenza","inf123456","influenza");
include('../Lib/php/fechas.php');
include('../Lib/php/funciones.php');
import_request_variables("gP");

//print_r($_POST);
$dHoy = date("Ymd H:i:s");
$Inicio_registros = 20091001;
$imp_tabla = "<table width='750' border='0' align='center' cellpadding='3' cellspacing='3' class='datos cuadro2'><tr><td><img src='images/modi.png'  width='30' height='30' border='0' />";
$imp_fin_tabla = "</td></tr></table>";
//echo "<br>Inicia validaciones: ".date("H:i:s")."<br>";
if($ciclo == 1){
	$fechaIng = formatofecha($fIngreso);
	$fechaSin = formatofecha($fSintoma_inicial);
//LA FECHA DE INGRESO NO PUEDE SER MAYOR AL DIA DE HOY
	
	if ($fechaIng > date("Ymd")) {
		$msg = "LA FECHA DE INGRESO NO PUEDE SER MAYOR AL DIA DE HOY";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

//LA FECHA DE INGRESO NO PUEDE SER MENOR AL 1 DE octubre DEL 2009		

	if ($fechaIng < $inicio_registros) {
		$msg = "LA FECHA DE INGRESO NO PUEDE SER MENOR AL 1 DE OCTUBRE DEL 2009";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

//LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MAYOR AL DIA DE HOY
	
	if ($fechaSin > date("Ymd") || $fechaSin > $fechaIng) {
		$msg = "LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MAYOR AL DIA DE HOY O MAYOR A LA FECHA DE INGRESO";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
		
//LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MENOR AL 1 DE ENERO DEL 2009	

	if ($fechaSin < $Inicio_registros) {
		$msg = "LA FECHA DE INICIO DE SINTOMAS NO PUEDE SER MENOR AL I DE OCTUBRE DEL 2009";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
}

if($ciclo == 2){
//	$fIngreso = formatofecha(convertdate5($fIngresov));
	$fechaIng2 = formatofecha(convertdate5($fIngresov));
	$fechaSin2 = formatofecha(convertdate5($fSintoma_inicial));

	if($nTomaMuestra == 1){
		$fechaT = formatofecha($fToma);
		//LA FECHA DE TOMA DE MUESTRA NO PUEDE SER MAYOR AL DIA DE HOY
		if ($fechaT > date("Ymd")) {
			$msg = "LA FECHA DE TOMA DE LA MUESTRA NO PUEDE SER MAYOR AL DIA DE HOY";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}
			
		//LA FECHA DE TOMA DE MUESTRA NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
		if ($fechaT < $fechaIng2) {
			$msg = "LA FECHA DE TOMA DE MUESTRA (".$fechaT.
				") NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE (".$fechaIng2.")";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}
	}

	if($nEvolucion == 1 || $nEvolucion == 4 || $nEvolucion == 7 || $nEvolucion == 9){
		
		$fechaE = formatofecha($fegreso);
	
		//LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY
		if ($fechaE > date("Ymd")) {
			$msg = "LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}
	
		//LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
		if ($fechaE < $fechaIng2) {
			$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
			echo $imp_tabla.$msg.$imp_fin_tabla;
			die();
		}

	}
}

//*****
if($ciclo == 9){
	//validaciones evoluion
	//-----------------------
	if($nEvolucion == 1){
		$nIntubacion = NULL;
		$nDclinico = NULL;
	}
	if($nEvolucion == 2){
		$nsubevolucion = NULL;
	}
	if($nEvolucion == 3){
		$nsubevolucion = NULL;
		$nIntubacion = NULL;
	}
	if($nEvolucion == 4){
		$nsubevolucion = NULL;
		$nIntubacion = NULL;
		$nDclinico = NULL;
	}
}
//-----------------------

if(substr($fIngreso,3,1) == " ")
	$fechaIng3 = formatofecha(convertdate5($fIngreso));
else
	$fechaIng3 = formatofecha($fIngreso);
	
//return;
if($nEvolucion == 1 || $nEvolucion == 4 || $nEvolucion == 7 || $nEvolucion == 9){

	//LA FECHA DE EGRESO DEL PACIENTE NO PUEDE SER MAYOR AL DIA DE HOY
	$fechaE = formatofecha($fegreso);
	if ($fechaE > date("Ymd")) {
		$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}

	//LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE
	if ($fechaE < $fechaIng3) {
		$msg = "LA FECHA DE EGRESO NO PUEDE SER MENOR AL FECHA DE INGRESO DEL PACIENTE";
		echo $imp_tabla.$msg.$imp_fin_tabla;
		die();
	}
}

//***
//echo "<br>Inicia ciclo de actualizacion<br>";
if (!$id_principal > 0) {
//	echo "entra al insert ".date("H:i:s");
	$accion = 1;	
	// Construye nombres de campos 
	$insert = "INSERT INTO $tabla (";
	$valores = " VALUES (";
	$query = mssql_query("select top1 * from $tabla",$link);
	while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($_POST as $valor => $x){
			if($cCampo == $valor and $_POST[$cCampo] != ''){
				$insert .= $cCampo.",";
				if($field->type == "datetime")
					$valores .= $com.formatofecha($_POST[$cCampo])."$com,";
				else
					$valores .= $com.$_POST[$cCampo]."$com,";
			}
		}
	}
	$insert .= " fCreacion)";
	$valores .= "'$dHoy')";		
	$sql = $insert.$valores;
}else{

	$accion = 2;
        $bX1 = 0;
        $bX2 = 0;
	$update = "UPDATE $tabla SET ";
	$query = mssql_query("select top 1 * from $tabla",$link);
	while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
                 
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($_POST as $valor => $x){
			$campoValor = "$".$cCampo;

                        if (($valor == 'nVacuna_desconoceX1' and $_POST['nVacuna_desconoceX1']== 1 and $bX1 ==0) || ($cCampo == 'fVacuna_estacional' && $_POST['nVacunadoX1'] > 1 and $bX1 == 0))
                                { 
                                    $valorn1 = 'fVacuna_estacional';
                                    $valores = "NULL,";
                                    $bX1 = 1;
                                    $sql .= $valorn1." = ".rtrim($valores);
                                }
                        if (($valor == 'nVacuna_desconoceX2' and $_POST['nVacuna_desconoceX2']== 2 and $bX2 ==0) || ($cCampo == 'fVacuna_h1n1' && $_POST['nVacunadoX2'] > 1 and $bX2 == 0))
                                {
                                    $valorn2 = 'fVacuna_h1n1';
                                    $valores = "NULL,";
                                    $bX2 = 1;
                                    $sql .= $valorn2." = ".rtrim($valores);
                                }

                              
			if($cCampo == $valor and $_POST[$cCampo] != '' and $cCampo != 'id_principal' and $cCampo != 'id_unidad'){
				if($field->type == "datetime") {
					$valores = $com.formatofecha($_POST[$cCampo])."$com,";
				}else{
					$valores = $com.$_POST[$cCampo].$com.",";
				}

                               

                                if(($cCampo == 'fVacuna_estacional' && $_POST['nVacunadoX1'] > 1 ) || ($cCampo == 'fVacuna_h1n1' && $_POST['nVacunadoX2'] > 1 ) )
                                {
                                     $valores = "'NULL',";
                                }

                                
                                if($cCampo != 'fVacuna_estacional' && $cCampo != 'fVacuna_h1n1'){// && $bX1 == 1 && $bX2 == 0)
                                    $sql .= $cCampo." = ".rtrim($valores);
                                }elseif ($cCampo == 'fVacuna_estacional' && $bX1 == 0){
                                    $sql .= $cCampo." = ".rtrim($valores);
                                }elseif ($cCampo == 'fVacuna_h1n1' && $bX2 == 0){
                                    $sql .= $cCampo." = ".rtrim($valores);
                                }

			}
             
		}
	}
        
	//echo "<br>termina query".date("H:i:s");
	// quita ultima coma
	$sql = substr($sql,0,-1);
	$evolu = "";

	if($ciclo == 9){
		//validaciones evoluion
		//-----------------------
		if($nEvolucion == 5 || $nEvolucion == 7 || $nEvolucion == 8 || $nEvolucion == 9){
				$evolu = "";
		}else{
				$evolu = " ,";
		}
		if($nEvolucion == 1){
				$evolu .= "nIntubacion = NULL, nDclinico = NULL ";
		}
		if($nEvolucion == 2){
				$evolu .= "nsubevolucion = NULL";
		}
		if($nEvolucion == 3){
				$evolu .= "nsubevolucion = NULL, nIntubacion = NULL";
		}
		if($nEvolucion == 4){
				$evolu .= "nsubevolucion = NULL, nIntubacion = NULL, nDclinico = NULL";
		}
               
                
	}
               
	$sql = $update.$sql.$evolu." WHERE id_principal = $id_principal ";
	
}
//echo "<br>termina query".date("H:i:s");
//echo "<br>$sql<br>";
//die();
$ejecutaQuerys = mssql_query($sql,$link) or die(mssql_get_last_message());
//echo "<br>termina consulta a BD".date("H:i:s");

// si inserto un nuevo registro, guarda el id principal
if(!$id_principal > 0){
	$sqllast="SELECT IDENT_CURRENT('$tabla')";
	$res = mssql_query($sqllast,$link) or die(mssql_get_last_message());
	list($last) = mssql_fetch_array($res);
	$id_principal = $last;
}else{
	$last = $id_principal;
}
// Agrega registro a la bitacora de seguridad
bitacora($last,$tabla,$accion,$link);

// --------------------------------------------------------------------------------------
// EN EL FORMULARIO 2 GUARDA LOS SINTOMAS Y CO-MORBILIDAD
// --------------------------------------------------------------------------------------

if($fsig == 1){
///sintomas
	 $id_sintoma = 'id_sintoma';		
	 $nSintoma = 'nSintoma';
	$sqls = "";
	for($i=1; $i<=$registros_sintomas;$i++)
	{
		$hi = '$id_sintoma$i';
		eval("\$hi = \"$hi\";");
		$hij = $_POST[$hi];
		$hij =($hij?$hij:0);
		
		$c1 = '$nSintoma$i';
		eval("\$c1 = \"$c1\";");
		$cc1 = $_POST[$c1];
		$cc1 =($cc1?$cc1:0);
	
		if($cc1 != 0){
			$sqls .="insert into Aux_Sintomas (id_registro, id_sintoma, id_decision, fCreacion) 
					VALUES ($id_principal, $hij,$cc1, '$dHoy' ) ; ";
		}
	}

	$sql_del = "delete from Aux_Sintomas WHERE id_registro = $id_principal";
	if(mssql_query($sql_del,$link))
		mssql_query($sqls,$link) or die("Sintomas: ".mssql_get_last_message());
		//echo "guard� sintomas";
	//DIAGNOSTICOS
	$id_diagnostico = 'id_diagnostico';		
	$nDiagnostico = 'nDiagnostico';
	$sqld = "";
	for($i=1; $i<=$registros_diagnostico;$i++)
	{
		$hi = '$id_diagnostico$i';
		eval("\$hi = \"$hi\";");
		$hij = $_POST[$hi];
		$hij =($hij?$hij:0);
		
		$c1 = '$nDiagnostico$i';
		eval("\$c1 = \"$c1\";");
		$cc1 = $_POST[$c1];
		$cc1 =($cc1?$cc1:0);
	
		if($cc1 != 0){
			$sqld .="insert into Aux_Diagnosticos(id_registro, id_diagnostico, id_decision, fCreacion)
					VALUES ($id_principal, $hij, $cc1,'$dHoy' )";
		}
	}
	$sql_del = "delete from Aux_Diagnosticos WHERE id_registro = $id_principal";
	if(mssql_query($sql_del,$link))
		if(!mssql_query($sqld,$link)) 
			echo "Error en el registro de diagnosticos: ".mssql_get_last_message();
	//echo "guardo morbilidad";
}	

// SOLO FORMULARIO 3 (MUESTRAS)
if($fsig == 2){

if(!$nLaboratorio == 0){

	$update = "UPDATE aux_muestras SET ";
	$query = mssql_query("select top 1 * from aux_muestras",$link);
	while($field = mssql_fetch_field($query)){
		$cCampo = $field->name;
		if($field->type == "char" or $field->type == "datetime") $com = "'"; else $com = "";
		foreach($_POST as $valor => $x){
			$campoValor = "$".$cCampo;
			eval("\$campoValor = \"$campoValor\";");
			if($cCampo == $valor and $campoValor != '' and $cCampo != 'id_principal' and $cCampo != 'id_unidad'){
				if($field->type == "datetime") {
					$valores = $com.formatofecha($campoValor)."$com,";
				}else{
					$valores = $com.$campoValor.$com.",";
				}
				$sqlm.= $cCampo." = ".rtrim($valores);
			}
		}
	}

	// quita ultima coma
	$sqlidm = "select id_muestras from aux_muestras where id_principal = $id_principal";
	$residm = mssql_query($sqlidm,$link);
	$datosidm = mssql_fetch_array($residm);
	
	$sqlm = substr($sqlm,0,-1);
	$sqlm = $update.$sqlm.", cFolio = '$lEntidad$id_sector$id_principal$datosidm[0]' WHERE id_principal = $id_principal ";
	//echo $sqlm."<br>";
	//exit();
	$ejecutaQuerysM = mssql_query($sqlm,$link) or die("Muestras: ".mssql_get_last_message());
}
}
// ------------------------------------------------------------------------------------------
// COLOCA EL STATUS DE REGISTRO COMPLETO ** FIN **
// ------------------------------------------------------------------------------------------
if($fsig == 2){
	$sqls="update dat_generales set nStatus = $nStatus where id_principal = $id_generales;
			update dat_registro set nStatus = $nStatus where id_principal = $id_principal ";
	$ejecutaQueryss = mssql_query($sqls,$link) or die("fin: ".mssql_get_last_message());
}
// ------------------------------------------------------------------------------------------


/* ------------------------------------------------------------------------------------------
SI EJECUTA LOS QUERYS, REDIRECCIONA LAS PAGINAS
---------------------------------------------------------------------------------------------
*/
if ($ejecutaQuerys) {
	if($id_principal){
		$div = "general";
		if($fsig == 1){
			$mensaje ="Los datos clinicos se guardaron correctamente. Por favor continue con el registro de antecedentes epidemiologicos";
			$pagina ="pacienteh3.php?id_principal=$id_principal&id_generales=$id_generales&fSintoma_inicial=$fSintoma_inicial&npag=$npag&nTipoPaciente=$nTipoPaciente";
		}else if($fsig == 2){
			$mensaje = "El registro se completo satisfactoriamente.";
			$pagina = "avisocompleto.php?x=1&id_generales=$id_generales";
			$div = "inicio";
		}
		else if($fsig == 3){
			$mensaje = "El registro se actualizo satisfactoriamente.";
			$pagina = "avisoactualizacion.php?x=1";
			$div = "inicio";
		}else if($fsig == 4){
			$mensaje = "El registro se actualizo satisfactoriamente.";
			$pagina = "avisoactualizacion.php?x=1";
			$div = "inicio";
		}
		echo "<script language='javascript'> alert('$mensaje');";
		echo "liga('$pagina','$div');</script>";

	}
}
//------------------------------------------------------------------------------------------
?>